home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / programming / arexx / rxcmanager / examples / cmanager_useraddress.rexx < prev    next >
OS/2 REXX Batch file  |  1999-05-25  |  2KB  |  119 lines

  1. /*
  2. ** $VER: CManager_UserAddress.rexx 1.001 (25.04.99) © Simone Tellini
  3. **
  4. **
  5. **  FUNCTION:
  6. **      Searches USERS in CManager and copies them in GoldED
  7. **
  8. ** $HISTORY:
  9. **
  10. ** 25 Apr 1999 : 001.001 : By Giangi, adapted to GoldED v3 and modified a
  11. **                         bit the output
  12. **
  13. */
  14.  
  15. options results                             /* enable return codes     */
  16.  
  17. if (left(address(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  18.  
  19.     address 'GOLDED.1'
  20.  
  21. /* 'LOCK CURRENT RELEASE=4' */                    /* lock GUI, gain access   */
  22. 'LOCK CURRENT'                                    /* lock GUI, gain access   */
  23.  
  24. if (RC ~= 0) then exit
  25.  
  26. options failat 6                            /* ignore warnings         */
  27.  
  28. signal on syntax                            /* ensure clean exit       */
  29.  
  30. /* ---------------------- INSERT YOUR CODE HERE ---------------------- */
  31.  
  32. if ~show("L","rxcmanager.library") then
  33.     if ~addlib("rxcmanager.library",0,-30) then do
  34.        say "no rxcmanager.library"
  35.        exit
  36.     end
  37.  
  38. parse arg Search
  39.  
  40. if Search = 'search' then do
  41.     'REQUEST STRING TITLE="Enter the name of the user to search for:" VAR=K'
  42.  
  43.     patt.Name     = '#?'k'#?'
  44.     patt.LastName = '#?'k'#?'
  45.  
  46.     num = CMFind("USER","REC","PATT",1)
  47.  end
  48.  else do
  49.     call CMStart()
  50.     num = CMGetEntry("USER MULTISELECT","REC")
  51.     call CMClose()
  52. end
  53.  
  54. if num > 0 then do
  55.  
  56.     do i=0 to num-1
  57.        'CR'
  58.        'FIRST'
  59.  
  60.        'TEXT T="'rec.i.Name' 'rec.i.LastName' mailto:'rec.i.EMail'"'
  61.        'CR'
  62.        'FIRST'
  63.  
  64.        if rec.i.Address ~= '' then do
  65.           addr = rec.i.Address
  66.           newline = index( addr, '0a'x )
  67.  
  68.           do while newline ~= 0
  69.              'TEXT T="'left( addr, newline - 1 )'"'
  70.              'CR'
  71.              'FIRST'
  72.              addr = right( addr, length( addr ) - newline )
  73.              newline = index( addr, '0a'x )
  74.           end
  75.  
  76.           'TEXT T="'addr'"'
  77.           'CR'
  78.           'FIRST'
  79.        end
  80.  
  81.        if rec.i.ZIP ~= '' || rec.i.City ~= '' then do
  82.           space = 0
  83.  
  84.           if rec.i.ZIP ~= '' then do
  85.              'TEXT T="'rec.i.ZIP'"'
  86.              space = 1
  87.           end
  88.  
  89.           if rec.i.City ~= '' then do
  90.  
  91.              if space then 'TEXT T=" "'
  92.  
  93.              'TEXT T="'rec.i.City'"'
  94.           end
  95.  
  96.           'CR'
  97.           'FIRST'
  98.        end
  99.  
  100.        if rec.i.Country ~= '' then do
  101.           'TEXT T="'rec.i.Country'"'
  102.           'CR'
  103.           'FIRST'
  104.        end
  105.     end
  106. end
  107.  
  108. /* ------------------------- END OF YOUR CODE ------------------------ */
  109.  
  110. 'UNLOCK'                                    /* unlock GUI              */
  111.  
  112. exit
  113.  
  114. SYNTAX:
  115.  
  116. SAY "Error in line" SIGL ":" ERRORTEXT(RC)
  117.  
  118. 'UNLOCK'
  119.